Uav hardware architecture

ABSTRACT

An unmanned aerial vehicle (UAV) includes one or more propulsion units that effect flight of the UAV, an application processing circuit configured to verify a validity of a system image of the UAV in a secure environment, and a flight control circuit operably coupled to the application processing circuit. Generation and/or transmission of control signals from the flight control circuit to one or more electronic speed controllers (ESC controllers) is prevented prior to verification of the validity of the system image.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of International Application No.PCT/CN2016/074783, filed on Feb. 29, 2016, the entire contents of whichare incorporated herein by reference.

BACKGROUND

Aerial vehicles have a wide range of real-world applications includingsurveillance, reconnaissance, exploration, logistics transport, disasterrelief, aerial photography, large-scale agriculture automation, livevideo broadcasting, etc. Increasingly, an aerial vehicle carrying apayload (e.g., a camera) may be required to be able to complete a broadvariety of operations, both simple and complex. In addition, with theadvancement of sensors and navigation technologies, autonomy of theaerial vehicles may increase. The usefulness of aerial vehicles may beimproved with appropriate distribution and/or utilization of processorsfor given operations of the aerial vehicles.

SUMMARY

Presently, unmanned aerial vehicles (UAV) may utilize a flight controlmodule to control flight of UAVs. The flight control module may comprisea plurality of micro-controllers and various sensors may be coupled tothe flight control module. In some instances, the flight control modulemay inefficiently process input data (e.g., from various sensors) andfunctionalities of UAVs that may be achieved by existing flight controlmodules may be limited. The ability to implement advanced features forUAVs requiring heavy processing loads may be desired. In some instances,processing data may have different requirements and/or needs. Forexample, in some instances, real-time processing of input data may berequired (e.g., for passive autonomous flight) while in some instancesnon-real time but extensive processing of input data may be required(e.g., for directed autonomous flight).

Accordingly, a need exists for a UAV hardware architecture that providesfor a number of different processing modules. The different processingmodules may be coupled to different types of sensors and/or devices. Thediffering processing modules may receive data from the different sensorsand/or devices and be responsible for different processing requirements.The different processing modules may be responsible for implementingdifferent features for the UAV. An appropriate distribution ofprocessing modules and ability for a subset or combination of themodules to work together to implement features may enable new andimproved UAV functionality.

Thus, in one aspect, a system for managing flight of an unmanned aerialvehicle (UAV) is provided. The system comprises: an applicationprocessing module configured to run an operating system; a real-timesensing module in communication with the application processing module,the real-time sensing module configured to process data in real time;and a flight control module in direct communication with the applicationprocessing module and the real-time sensing module, the flight controlmodule further configured to control one or more propulsion units thateffect flight of the UAV.

In another aspect, an unmanned aerial vehicle (UAV) is provided. The UAVcomprises: one or more propulsion units that effect flight of the UAV;an application module configured to run an operating system; a real-timesensing module in communication with the application processing module,the real-time sensing module configured to process data in real time;and a flight control module in direct communication with the applicationprocessing module and the real-time sensing module, the flight controlmodule further configured to control the one or more propulsion units.

In another aspect, a non-transitory computer readable medium formanaging flight of an unmanned aerial vehicle (UAV) is provided. Thenon-transitory computer readable medium comprises code, logic, orinstructions to: run an operating system with aid of an applicationmodule; process data in real time with aid of a real-time sensing modulein communication with the application processing module; and effectflight of the UAV with aid of one or more propulsion units, the one ormore propulsion units controlled by a flight control module in directcommunication with the application processing module and the real-timesensing module.

In another aspect, a method for managing flight of an unmanned aerialvehicle (UAV) is provided. The method comprises: running an operatingsystem with aid of an application module; processing data in real timewith aid of a real-time sensing module in communication with theapplication processing module; and effecting flight of the UAV with aidof one or more propulsion units, the one or more propulsion unitscontrolled by a flight control module in direct communication with theapplication processing module and the real-time sensing module.

In another aspect, a system for managing flight of an unmanned aerialvehicle (UAV) is provided. The system comprises: an applicationprocessing module configured to receive data from a first imagingsensor, wherein the first imaging sensor captures data according toinstructions from a user; and a real-time sensing module configured toreceive data from one or more other imaging sensors, wherein the one ormore other imaging sensors captures data autonomously, and wherein dataprocessed by the application processing module or the real-time sensingmodule is used to aid flight of the UAV.

In another aspect, an unmanned aerial vehicle (UAV) is provided. The UAVcomprises: one or more propulsion units that effect flight of the UAV;an application processing module configured to receive data from a firstimaging sensor, wherein the first imaging sensor captures data accordingto instructions from a user; and a real-time sensing module configuredto receive data from one or more other imaging sensors, wherein the oneor more other imaging sensor is configured to capture data autonomously,and wherein data processed by the application processing module or thereal-time sensing module is used to aid flight of the UAV.

In another aspect, a non-transitory computer readable medium formanaging flight of an unmanned aerial vehicle (UAV) is provided. Thenon-transitory computer readable medium comprises code, logic, orinstructions to: receive data, at an application processing module, froma first imaging sensor, wherein the first imaging sensor captures dataaccording to instructions from a user; and receive data, at a real-timesensing module, from one or more other imaging sensors, wherein the oneor more other imaging sensors are configured to capture dataautonomously, and wherein data processed by the application processingmodule or the real-time sensing module is used to aid flight of the UAV.

In another aspect, a method for managing flight of an unmanned aerialvehicle (UAV) is provided. The method comprises: receiving data, at anapplication processing module, from a first imaging sensor, wherein thefirst imaging sensor captures data according to instructions from auser; and receiving data, at a real-time sensing module, from one ormore other imaging sensors, wherein the one or more other imagingsensors are configured to capture data autonomously, and wherein dataprocessed by the application processing module or the real-time sensingmodule is used to aid flight of the UAV.

In another aspect, a system for managing flight of an unmanned aerialvehicle (UAV) is provided. The system comprises: an applicationprocessing module configured to verify a validity of a system image ofthe system in a secure environment; and a flight control module operablycoupled to the application processing module, wherein generation and/ortransmission of control signals from the flight control module to one ormore ESC controllers is prevented prior to verification of the validityof the system image.

In another aspect, an unmanned aerial vehicle (UAV) is provided. The UAVcomprises: one or more propulsion units that effect flight of the UAV;an application processing module configured to verify a validity of asystem image of the system in a secure environment; and a flight controlmodule operably coupled to the application processing module, whereingeneration and/or transmission of control signals from the flightcontrol module to one or more ESC controllers is prevented prior toverification of the validity of the system image.

In another aspect, a non-transitory computer readable medium formanaging flight of an unmanned aerial vehicle (UAV) is provided. Thenon-transitory computer readable medium comprises code, logic, orinstructions to: verify, at an application processing module, a validityof a system image of the system in a secure environment; and prevent, ata flight control module operably coupled to the application processingmodule, generation and/or transmission of control signals from theflight control module to one or more ESC controllers prior toverification of the validity of the system image.

In another aspect, a method for managing flight of an unmanned aerialvehicle (UAV) is provided. The method comprises: verifying, at anapplication processing module, a validity of a system image of thesystem in a secure environment; and preventing, at a flight controlmodule operably coupled to the application processing module, generationand/or transmission of control signals from the flight control module toone or more ESC controllers prior to verification of the validity of thesystem image.

It shall be understood that different aspects of the disclosure can beappreciated individually, collectively, or in combination with eachother. Various aspects of the disclosure described herein may be appliedto any of the particular applications set forth below or for any othertypes of movable objects. Any description herein of an aerial vehiclemay apply to and be used for any movable object, such as any vehicle.Additionally, the systems, devices, and methods disclosed herein in thecontext of aerial motion (e.g., flight) may also be applied in thecontext of other types of motion, such as movement on the ground or onwater, underwater motion, or motion in space.

Other objects and features of the present disclosure will becomeapparent by a review of the specification, claims, and appended figures.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present disclosure will be obtained by reference tothe following detailed description that sets forth illustrativeembodiments, in which the principles of the disclosure are utilized, andthe accompanying drawings of which:

FIG. 1 illustrates a hardware architecture of an unmanned aerial vehicle(UAV), in accordance with embodiments.

FIG. 2 illustrates a detailed UAV hardware architecture, in accordancewith embodiments.

FIG. 3 illustrates a UAV hardware architecture in which the imageprocessing module and the image transmission module have been integratedwith the application processing module, in accordance with embodiments.

FIG. 4 illustrates a configuration where different types of sensors ordevices are coupled to different processing modules, in accordance withembodiments.

FIG. 5 illustrates different flight related functions which requirefunctioning, or processing by different modules, in accordance withembodiments.

FIG. 6 illustrates a method 600 of implementing vision based hoveringfor the UAV, in accordance with embodiments.

FIG. 7 illustrates a method of implementing passive obstacle avoidancefor the UAV, in accordance with embodiments.

FIG. 8 illustrates an image on a user terminal, in accordance withembodiments.

FIG. 9 illustrates a method for managing flight of an UAV with securitymeasures, in accordance with embodiments.

FIG. 10 illustrates methods for managing flight of an unmanned aerialvehicle, in accordance with embodiments.

FIG. 11 illustrates an unmanned aerial vehicle (UAV), in accordance withembodiments.

FIG. 12 is a schematic illustration by way of block diagram of a systemfor controlling a movable object, in accordance with embodiments.

DETAILED DESCRIPTION

Systems, methods, and devices provided herein can be used to improveefficiency and operational capability of aerial vehicles. The aerialvehicles as used herein may refer to an unmanned aerial vehicle (UAV),or any other type of movable object. In some instances, a flight controlmodule (also referred to as a “flight control circuit”) may be providedfor controlling a flight of a UAV. For example, the flight controlmodule may be responsible for generating one or more signals that effectmovement of one or more propulsion units of the UAV, e.g., viaelectronic speed controllers (ESC controllers). In some instances, theflight control module may lack sufficient computing capacity, mayinefficiently process data (e.g., everything in real time), provideminimal hardware interface, lack software features, have poorscalability, and/or poor security.

In some instances, additional processing modules may be provided forprocessing data or implementing features for the aerial vehicles. Theadditional processing modules may be utilized in conjunction with theflight control module. Collectively, the additional processing modulesand the flight control module may be referred to as the differentprocessing modules. The different processing modules may be provided onboard the UAV. The different processing modules may supplement theflight control module. The different processing modules may ensure apowerful computing capacity, enable large operating system such asAndroid or Linux to be run on the UAV, support chip level security, havereal time processing capabilities, and/or high reliability.

In some instances, the different processing modules may be able tocommunicate directly with one another and may be active at differenttimes in order to implement functionalities or features of the aerialvehicle. The ability for a subset of the different processing modules toefficient implement features may be enabled by the ability for thedifferent processing modules to directly communicate with one another.For example, an application processing module (also referred to as an“application processing circuit”), a real-time sensing module (alsoreferred to as a “real-time sensing circuit”), and a flight controlmodule may be provided, e.g., on-board a UAV. A subset of the differentprocessing modules may communicate with one another to process dataand/or implement a function of the UAV. For example, the real-timesensing module may be utilized to accomplish real time processing ofdata or implementation of functions that require large computingcapacity and work with the flight control module to implement featuresof the UAV. In some instances, the features may relate to reactionaryfeatures and/or passive flight features. For example, the features mayinclude passive obstacle avoidance and/or vision based hovering.

In some instances, the application processing module may be utilized toaccomplish processing of data or implementation of functions that do notrequire, or are not benefitted substantially by, real-time processing.The application processing module may work with the flight controlmodule and/or the real-time sensing module implement features of theUAV. In some instances, the features may relate to mission planning,directed autonomous flight, and/or payload related.

Each of the different processing modules may comprise unique featuresand may comprise distinct roles within the UAV hardware architecture.For example, the application processing module may act as a core of theUAV hardware architecture and provide security to the whole UAV system.In some instances, the application processing module may offermodularity to the UAV by offering various connectivity and interfaces.In some instances, the application processing module may act as a hubfor data processing and analysis by being able to receive information ordata from the real-time sensing module and/or the flight control moduleand generating information useful for flight of the UAV. In someinstances, the different processing modules may be coupled (e.g.,directly coupled) to different types of devices and/or sensors. Thedifferential coupling of devices and/or sensors may enable to the UAVhardware architecture to be able to efficiently divide up the differenttypes of processing loads, improve UAV features, and enable new UAVoperational capabilities.

It shall be understood that different aspects of the disclosure can beappreciated individually, collectively, or in combination with eachother. Various aspects of the disclosure described herein may be appliedto any of the particular applications set forth below or for any othertypes of remotely controlled vehicles or movable objects.

FIG. 1 illustrates a hardware architecture 100 of an unmanned aerialvehicle (UAV), in accordance with embodiments. In some instances, theUAV may comprise one or more processing modules (processing circuits).The processing modules may be provided on-board the UAV. Alternativelyor in addition, some of the processing modules may be provided off-boardthe UAV, e.g., at a ground terminal. The one or more processing modulesof the UAV may comprise an application processing module 102.Alternatively or in addition, the one or more processing modules maycomprise a real-time sensing module, flight control module, imageprocessing module (also referred to as an “image processing circuit”),image transmission module (also referred to as an “image transmissioncircuit” or “image transmitter”), or other modules as further describedbelow.

The application processing module may be provided as a centerpiece formanaging flight or operation related to the aerial vehicle. Theapplication processing module may comprise one or more processors. Forexample, the application processing module may comprise one, two, three,four, five, six, seven, eight, nine, ten, or more processors. Each ofthe processors may be a single core or multi-core processor. Anapplication processing module with a single processor may also bereferred to herein as an application processor.

In some instances, the application processing module may comprise acentral processing unit (CPU). Alternatively or in addition, theapplication processing module may comprise a graphical processing unit(GPU). The GPU may be a dedicated GPU as further described below.Alternatively, the GPU may be an integrated GPU on a same die as theCPU. The CPU and/or the GPU may provide powerful computing capacity tothe application processing module such that the application processingmodule is able to process data or accomplish tasks requiring highprocessing power (e.g., visual computing). In some instances, theapplication processing module may alternatively or additionally beresponsible for encoding of data, providing a secure environment for theUAV system (e.g., system image), updating the UAV system, providingsystem interoperability with other peripheral devices or processingmodules. In some instances, the application processing module may beresponsible for managing other peripheral devices or processing modulesand/or processing data from other devices or modules.

In some instances, the application processing module may be configuredto run an operating system. The operating system may be a generalpurpose operating system configured to run a plurality of other programsand applications, depending on mission requirements or user preference.In some instances, the applications that may run on the applicationprocessing module may relate to flight and/or control of the UAV. Insome instances, external devices coupled to the application processmodule (e.g., via various interfaces provided) may load programs orapplications which may be run on the application processing module. Forexamples, applications having to do with vision sensing, tracking, videosystems, etc may be run on the application processing module. In someinstances, applications that may run on the UAV may be user configurableand/or updatable. Accordingly, the operating system may provide a meansto update and/or add functionality to the UAV. In some instances, theoperational capabilities of the UAV may be updated or increased with nohardware upgrades. In some instances, the operational capabilities ofthe UAV may be updated or increased only with a software update via theoperating system. In some instances, the operating system may be anon-real time operating system. Alternatively, the operating system maybe a real-time operating system. A real time operating system may beconfigured to respond to input (e.g., input data) instantly, or in realtime. A non-real time operating system may respond to input with somedelay. Examples of non-real time operating systems may include, but arenot limited to, Android, Linux, Windows, etc.

In some instances, the application processing module may provide aplurality of interfaces for coupling, or connecting, to peripheraldevices. The interfaces may be any type of interface and may include,but are not limited to USB, UART, I2C, GPIO, I2S, SPI, MIPI, HPI, HDMI,LVDS, and the like. The interface may comprise a number ofcharacteristics. For example, the interface may comprise characteristicssuch as a bandwidth, latency, and/or throughput. In some instances, theperipheral devices may comprise additional sensors and/or modules. Theperipheral devices may be coupled to the application processing modulevia specific interfaces depending on needs (e.g., bandwidth orthroughput needs). In some instances, a high bandwidth interface (e.g.,MIPI) may be utilized where high bandwidth is necessary (e.g., imagedata transmission). In some instances, a low bandwidth interface (e.g.,UART) may be utilized where low bandwidth is necessary (e.g., controlsignal communication). As an example, a MIPI may be utilized fortransmission of data between an application processing module and animage processing module. As an example, an HPI may be utilized fortransmission of data between an application processing module and animage transmission module. As an example, a USB may be utilized fortransmission of data between an application processing module and areal-time sensing module, or between an application processing moduleand a flight control module. As an example, a UART may be utilized fortransmission of control signal, e.g., between the flight control moduleand image transmission module.

The interfaces may provide modularity to the UAV such that a user mayupdate peripheral devices depending on mission requirements orpreference. For example, depending on a user's needs and missionobjectives, peripheral devices may be added or swapped in and out toenable a modular configuration that is best suited for the UAVobjective. In some instances, the plurality of interfaces may easily beaccessible by a user. In some instances, the plurality of interfaces maybe located within a housing of the UAV. Alternatively or in addition,the plurality of interfaces may be located in part, on an exterior ofthe UAV.

As previously described herein, the application processing module mayact as a core piece of the UAV hardware architecture. The applicationprocessing module may manage and/or interact with various peripheraldevices, sensors, and/or other processors 108. The applicationprocessing module may communicate with the real-time sensing module 104and/or the flight control module 106 for efficient processing of dataand implementation of UAV features. In some instances, the applicationprocessing module may intake data or information from any or all of theother processing modules and further process data to generate usefulinformation for flight of the UAV (e.g., grid map building). In someinstances, the application processing module may ensure that differentprograms, input, and/or data is efficiently divided up and beingprocessed by different processing modules. In some instances, theoperating system ran on the application processing module, as well asthe various interfaces which enable an operator of the UAV to configurethe UAV to operate with updated applications and/or devices (e.g.,peripherals) may provide the UAV great modularity and configurabilitysuch that it is able to operate under conditions best suited for a givenmission objective.

In some instances, the application processing module may provide, or beresponsible, for security of the UAV system. Security of the UAV systemmay be necessary for ensuring that resources of importance cannot becopied, damaged, or made unavailable to genuine users. Genuine users mayinclude owners and/or authorized users of the UAV. In some instances,security of the UAV system may be necessary for ensuring that the UAVremains stable and responsive to commands from a genuine user and thatunauthorized or non-genuine users (e.g., hackers) cannot compromise asystem image of the UAV.

The system image of the UAV may comprise a complete state of the UAVsystem including the state of the application processing module (e.g.,operating system state). In some instances, the system image of the UAVmay comprise states of the other processing modules and/or othercomponents of the UAV system. The application processing module mayprovide security via software (e.g., applications running on theoperating system). For example, the operating system ran on theapplication processing module may provide security solutions for theUAV. In some instances, the application module may provide security viahardware security measures. In some instances, a combination ofintegrated hardware and software components may provide security to theUAV system as further described elsewhere.

FIG. 9 illustrates a method for managing flight of an UAV with securitymeasures, in accordance with embodiments. As previously describedherein, the application processing module may provide a security measurefor the UAV system. In step 901, an application processing module mayverify a validity of a system image of the UAV system in a secureenvironment. The secure environment may be an environment provided byvia software security measures, hardware security measures, or acombination thereof.

In step 903, a flight of the UAV prior to verification of the validityof the system image may be prevented. In some instances, the flight maybe prevented due to the application processing module. For example, if avalidity of the system image of the UAV system cannot be verified by theapplication processing module, no instructions may be generated and/ortransmitted to ESC controllers from the flight control module to affectmovement of the UAV. In some instances, generation and/or transmissionof control signals from the flight control module to one or more ESCcontroller may be prevented such that the UAV is prevented from takingoff. Accordingly, the UAV may be allowed flight only when it is ensuredthat the UAV is stable and able to function properly.

In some instances, the application processing module may be configuredto verify a validity of the system image when the UAV is powering up.Alternatively or in addition, the application processing module may beconfigured to verify a validity of the system image when a payload(e.g., primary imaging sensor) of the UAV is powering up. Alternativelyor in addition, the system image of the UAV may be verified atpredetermined intervals. For example, the system image may be configuredto be verified by the application processing module about or morefrequently than every 6 months, every 3 months, every month, every 2weeks, every week, every 3 days, every 24 hours, every 12 hours, every 6hours, every 3 hours, or every hour.

In some instances, the UAV system may comprise a micro fuse comprising akey for verifying the validity of the system image. The applicationprocessing module may be configured to verify a validity of the systemimage with aid of the key burned into the micro fuse. In some instances,only verified system images may be allowed to start up. For example, anoperating system of the UAV or the application processor may not beallowed to start up prior to verification of the system image. In someinstances, the application processing module is further configured toverify and record a login information of a user in the secureenvironment before flight of the UAV is allowed.

In some instances, the application processing module is configured toreceive data from an imaging sensor and store the data in the secureenvironment. Storage of image data in the secure environment may enablefor the protection of intellectual property (e.g., photography) of UAVusers. In some instances, the application processing module is furtherconfigured to encrypt the data (e.g., image data) before transmission ofthe data to a storage medium. In some instances, the encrypted data maybe decrypted only by appropriate users. In some instances, theappropriate user is an operator of the UAV or an owner of the UAV.Alternatively or in addition, the appropriate user may compriseauthorized users who may have been granted permission.

In some instances, the UAV system may comprise additional processingmodules also referred to herein as other processing modules. The otherprocessing modules may comprise a real-time sensing module and/or flightcontrol module, as described below. In some instances, the otherprocessing modules may be configured to receive the system image fromthe application processing module. In some instances, the otherprocessing module may further be configured to verify the validity ofthe received image. For example, the other processing modules may verifythe validity of received images using respective private keys. In someinstances, the flight control module may prevent flight of the UAV priorto verification of the validity of the imaging system by (1) theapplication processing module, and (2) other processing modules such asthe real-time sensing module.

The application processor may enable safe system upgrading in someaspects. For example, if a UAV system needs upgrading, differentprocessors or processing modules may receive the upgraded system imagefrom the application processing module and verify a validity of theimage using the respective private keys. Afterwards, the otherprocessing modules may proceed to upgrade the system image.

In some instances, the flight control module is an embedded processor asdescribed herein. The flight control module may act as a backupcomponent in case the application processing module fails. In someinstances, the application processing module may be located on a firstprinted circuit board, and the flight control module may be located on asecond printed circuit board. In some instances, the UAV system maycomprise an image processing module, and the image processing module maybe located on a third printed circuit board. In some instances,different modules may be coupled to different sensors on board the UAV,substantially as described below.

Alternatively or in addition to the application processing module, theone or more processing modules processing modules of the UAV maycomprise a real time sensing module 104. The real-time sensing modulemay comprise one or more processors. For example, the real-time sensingmodule may comprise one, two, three, four, five, six, seven, eight,nine, ten, or more processors. Each of the processors may be a singlecore or multi-core processor. A real-time sensing module with a singleprocessor may also be referred to herein as a real-time sensingprocessor.

In some instances, the real-time sensing module may comprise a visualprocessor and/or a digital signal processor. The real-time processingmodule may comprise powerful image processing capabilities and mayoperate in real-time. In some instances, the real-time sensing modulemay process data from one or more sensors 110 to obtain a heightmeasurement (e.g., height of the UAV relative to a ground) or a speedmeasurement (e.g., speed of the UAV). In some instances, the real-timesensing module may process data from the one or more sensors and beresponsible for obstacle detection and depth map calculation.

The real-time sensing module may be responsible for processing and/oroverseeing functionalities of the UAV that may have high requirements ofreal-time processing, e.g., passive obstacle avoidance. In someinstances, the real-time sensing module may be responsible forreactionary features and/or passive autonomous flight features of theUAV. In some instances, the real-time sensing module may processinformation from one or more other processing modules and oversee datafusion of sensor data such that more accurate information regarding astate of the UAV can be ascertained. For example, the real-time sensingmodule may process sensor information transmitted from a flight controlmodule 106.

Alternatively or in addition to the application processing module or thereal time sensing module, the one or more processing modules of the UAVmay comprise a flight control module 106. The flight control module maycomprise one or more processors. For example, the flight control modulemay comprise one, two, three, four, five, six, seven, eight, nine, ten,or more processors. Each of the processors may be a single core ormulti-core processor. In some instances, the flight control module maycomprise an embedded processor such as a reduced instruction setcomputer (RISC). The RISC may operate at a high speed, performing morethan millions of instructions per second (MIPS). The flight controlmodule may be configured to process data in real time and with highreliability.

In some instances, the flight control module may be configured to effectfunctionalities or features of the UAV, e.g., by controlling movement ofone or more propulsion units on board the UAV. For example, according toinstructions or information received from other processing modules, theflight control module may affect movement of the UAV such that thefeatures are implemented. In some instances, the flight control modulemay be configured to maintain a stable flight of the UAV. The flightcontrol module may be configured to process information (e.g.,information received from sensors coupled to the flight control module)such that stable flight of the UAV is maintained. For example, in eventof failure of the application processing module and/or the real-timesensing module, the flight control module may prevent complete failureor crashing of the UAV. In some instances, the flight control module maybe sufficient to maintain flight of the UAV in the air, e.g., withoutfunctioning of the application processing module and/or the real-timesensing module.

Having high reliability and ability to process information in real timemay be critical for the flight control module as the flight controlmodule may be responsible for ultimate flight control of the UAV. Forexample, based on the various data (e.g., from the applicationprocessing module, the real-time processing module, and/or one or moresensors coupled to the flight control module), the flight control modulemay control flight of the UAV by sending one or more instructions to oneor more electronic speed control (ESC) controllers 112. The one or moreESC controllers may be configured to precisely and efficiently control avelocity of motors coupled to one or more propulsion units of the UAV,thereby directly affecting actual flight of the UAV. In some instances,the application processing module and/or the real-time sensing modulemay not be coupled (e.g., directly coupled to) ESC controllers. In someinstances, the application processing module and/or the real-timesensing module may not control or send a set of instructions forcontrolling ESC controllers.

In some instances, the flight control module may be configured toperform sensor data fusion. For example, based on sensor data obtainedfrom one or more sensors coupled to the flight-control module and sensordata relayed by the real-time sensing module, the flight control modulemay perform sensor data fusion such that more accurate informationregarding a state of the UAV can be ascertained. Based on informationobtained from one or more sensors coupled to the flight control moduleand/or information relayed from the real-time sensing module or theapplication processing module, the flight control module may governactual flight of the UAV by affecting movement of the one or more ESCcontrollers. In some instances, the flight control module act as aback-up or and may maintain flight (e.g., stable flight) of the UAV incase other processing modules (e.g., the application processing moduleor the real-time sensing module) fail.

The one or more processing modules of the UAV may comprise alternativeand/or additional types of processing modules. For example, the one ormore processing modules of the UAV may comprise image processingmodules, image transmission modules, or other processing modules asdescribed herein. The aforementioned processing modules may be providedindividually, or in any combination, on and/or off board the UAV.

In some instances, two or more processing modules may be provided formanaging flight of an aerial vehicle. The processing modules may beprovided on-board the UAV. Alternatively or in addition, some of theprocessing modules may be provided off-board the UAV, e.g., at a groundterminal. Any combination or variation of the processing modules may beprovided. For example, the two or more processing modules may comprise areal time sensing module and a flight control module. In some instances,the two or more processing modules may comprise an applicationprocessing module and a flight control module. In some instances, thetwo or more processing modules may exclude any of the processing modulesdescribed herein. For example, the two or more processing modules maycomprise a real time sensing module and a flight control module, but notan application processing module. In some instances, the two or moreprocessing modules may comprise a real time sensing module and a flightcontrol module, but not a real time sensing module.

The two or more processing modules may comprise different processingmodules configured to manage different operational aspects of the aerialvehicle. For example, referring back to FIG. 1, the applicationprocessing module 102 may process information related to computationallyintensive tasks or operations that do not require real time processingwhile a real time sensing module 104 may process information related tooperations that require real time processing of data. Providing fordifferent processing modules may be advantageous as parts of UAVoperation may have real-time requirements while parts of UAV operationmay not have real-time processing requirements. Providing for differentprocessing modules may enable an efficient use of resources on board theUAV as the application processing module may act as a core module of theUAV processing a large amount of data that does not require real-timeprocessing while the real time sensing module may act as a support andensure optimal operation (e.g., stable operation) of the UAV byprocessing some data (e.g., some data from one or more sensors) wherenecessary or beneficial, in real time.

In some instances, three, four, five, six, seven, eight, nine, ten ormore processing modules may be provided for managing flight of an aerialvehicle. The processing modules may be provided on-board the UAV.Alternatively or in addition, some of the processing modules may beprovided off-board the UAV, e.g., at a ground terminal. The plurality ofdifferent processing modules may be configured to manage differentoperational aspects of the aerial vehicle. For example, the flight ofthe UAV may be managed by at least three processing modules. In someinstances, the at least three processing modules may comprise theapplication processing module, the real-time sensing module, and aflight control module 106. For example, the application processingmodule may be utilized to accomplish processing of data orimplementation of functions that do not require, or are not benefittedsubstantially by, real-time processing, the real-time sensing module maybe utilized to accomplish real time processing of data or implementationof functions that require large computing capacity and work with theflight control module to implement features of the UAV, and the flightcontrol module may implement required flight measures and act as abackup to maintain stable flight of the UAV.

The different processing modules may be configured to communicate withone another. In some instances, the different processing modules may beconfigured to directly communicate with each other. Direct communicationas used herein may refer to ability to communicate with one anotherwithout having to go through one or more other processing modules. Forexample, the real-time sensing module and the flight control module maybe configured to communicate data or information without going throughthe application processing module as an intermediary as shown byconnection 114. In some instances, the real-time sensing module and/orthe application processing module may not directly communicate with ESCcontrollers 112 and may need to convey data or information to the flightcontrol module which may affect operation of the ESC controllers.

The flow of information or data may be in any direction as indicated bythe arrows of the connections between the different processing modules102, 104, 106. For example, data may flow from the real-time sensingmodule to the application processing module and/or the flight controlmodule. Alternatively or in addition, data or information may flow fromthe application processing module to the flight control module and/orthe real time sensing module. Alternatively or in addition, data orinformation may flow from the flight control module to the real-timesensing module and/or the application processing module. In someinstances, data may not flow from the flight control module to theapplication processing module.

The ability for the different processing modules to communicate (e.g.,directly communicate) with one another may enable a subset of thedifferent processing modules to accomplish a task or process data in anefficient manner best suited for a given operation of the UAV. Utilizingdifferent processing modules (e.g., the aforementioned applicationprocessing module, real-time sensing module, and flight control module)and enabling direct communication between the modules may enableappropriate coupling of sensors, controllers, and devices to thedifferent processing modules such that flight of the UAV can be managedin an efficient manner where suited processing modules take care ofdifferent operational aspects of the UAV. In some instances, thereal-time sensing module may process data that requires real timeprocessing, the application processing module may process data that doesnot require real time processing, and the flight control module mayaffect movement of ESC controllers based on data from the differentprocessing modules or from sensors coupled to the flight control module.

In some instances, different printed circuit boards (PCBs) may beprovided for the different processing modules. In some instances, atleast two PCBs may be provided on board the UAV. For example, thereal-time sensing module may be provided on a first PCB and the flightcontrol module may be provided on a different second PCB. In someinstances, the application processing module may be provided on a firstPCB and the flight control module may be provided on a different secondPCB. In some instances, the application processing module and thereal-time sensing may be provided on a first PCB 116 and the flightcontrol module may be provided on a second PCB 118.

FIG. 2 illustrates a detailed UAV hardware architecture 200, inaccordance with embodiments. As previously described herein, the UAV maycomprise additional processing modules in addition to the aforementionedapplication processing module, real-time sensing module, and flightcontrol module. For example, an image processing module 201 may beprovided. The image processing module may comprise one or moreprocessors. For example, the image processing module may comprise one,two, three, four, five, six, seven, eight, nine, ten, or moreprocessors. Each of the processors may be a single core or multi-coreprocessor. An image processing module with a single processor may alsobe referred to herein as an image processor. In some instances, theimage processing module may comprise a dedicated graphical processingunit (GPU).

In some instances, the image processing module may be coupled to one ormore imaging sensors and may be configured to provide a high-qualityimage capturing and video capturing, e.g., high dynamic range image(HDR) capturing. In some instances, the image processing module mayprocess data captured by one or more imaging sensors or may help managethe one or more imaging sensors. For example, the image processingmodule may enable delayed shooting (image capturing), provide digitalfilters, process images to reduce noise, provide defogging, 4K videorecording, etc. Alternatively or in addition, the application processingmodule may help manage the one or more imaging sensors and may enablethe aforementioned functionalities, e.g., delayed shooting, providingdigital filters, etc. In some instances, the image processing module maybe coupled to gimbal and/or a gimbal controller. The gimbal may compriseany type of gimbal, e.g., two-axis gimbal, three-axis gimbal, multi-axisgimbal, etc. The gimbal controller may comprise a real-time system,e.g., process input in real time. In some instances, the gimbalcontroller may be a micro-controller for controlling the servo angle ofthe gimbal such as a tri-axial gimbal. The gimbal controller may beconfigured to drive servo motors of the gimbal to smoothly rotate apayload (e.g., imaging device) to a desired angle.

In some instances, an image transmission module 203 may be provided. Theimage transmission module may comprise one or more processors. Forexample, the image transmission module may comprise one, two, three,four, five, six, seven, eight, nine, ten, or more processors. Each ofthe processors may be a single core or multi-core processor. An imagetransmission module with a single processor may also be referred toherein as an image transmission processor. In some aspects, the imagetransmission module may comprise a controller, field programmable gatearray (FPGA), or a combination thereof. In some instances, the imagetransmission module may be coupled to gimbal and/or a gimbal controller,substantially as described with respect to the image processing module.

In some instances, the image transmission module may comprise adedicated wireless image transmission chip. In some instances, the imagetransmission module may establish reliable communication links between aground terminal or user terminal and the UAV. The ground terminal maycomprise remote controllers, mobile devices such as cellphones ortablets, and the like. The image transmission module may be configuredto receive one or more control signals from a ground terminal (e.g., auser terminal) and transmit one or more signals (e.g., image data, UAVstate data, etc) to the ground terminal. In some instances, the one ormore image data may be received from the aforementioned image processingmodule. The image transmission module may have a high reliability andminimal delay. A real-time operating system may run on the imagetransmission module. In some instances, the real-time operating systemmay enable the image transmission module to compress images or videosand send data (e.g., image data) with high-bandwidth and low latency.

In some instances, the image processing module and the imagetransmission module may collectively be referred to as an image module.The image processing module and the image transmission module may insome instances, implement UAV features. The UAV features may comprisepayload related features. For example, a user may provide an input on auser terminal. The input may relate to the UAV payload. For example, thepayload may be an imaging device, and the user input may relate toparameter settings, image capturing instruction, video recordinginstruction and gimbal control instruction. The user input may betransmitted to the image transmission module of the UAV via acommunication link such as a wireless link. The image transmissionmodule may transmit the input (e.g., parameter settings andinstructions) to the image processing module and/or gimbal controller.The image processing module may relay the instructions or generateinstructions to the imaging device 205 which may then capture images andvideos. The image processing module may process the captured images andvideos, compress the images and videos and store them in memory cardbased upon the received parameters.

In another aspect, data from the imaging device 205 may be transmittedto the image processing module via high-definition (HD) imagetransmission. In some instances, the image processing module maycomprise powerful processing capabilities and may be able to encode HDvideos at the same time the image and video is captured. The encodeddata may then be directly transmitted to the image transmission moduleor transmitted to the image transmission module through the applicationprocessing module. The image transmission module may then transmit theencoded data to a ground terminal (e.g., user terminal). In someinstances, if the image processing module is not powerful enough, theimage or video data from the imaging device may be transmitted to theapplication processing module. The application processing module mayencode the image or video data and transmit the encoded HD video data tothe image transmission module, which may subsequently transmit theencoded data to a ground terminal.

In some instances, the image processing module and/or the imagetransmission module may be integrated with the application processingmodule. FIG. 3 illustrates a UAV hardware architecture in which theimage processing module and the image transmission module have beenintegrated with the application processing module, in accordance withembodiments. Accordingly, the application processing module may in someinstances comprise the functionalities of the image processing moduleand/or the image transmission module. The integration of the imageprocessing module and/or the image transmission module may provide asimpler system and may help reduce costs associated with producing theUAV hardware architecture with the different processing modules.

As previously described throughout, different sensors and/or peripheralcomponents may be coupled to different processing modules for efficientutilization of UAV resources and processing of data. In some instances,one or more sensors may be coupled to the different processing modules.The one or more sensors may be capable of sensing the environment and/ora state of the UAV.

The one or more sensors may include an imaging device. An imaging devicemay be a physical imaging device. An imaging device can be configured todetect electromagnetic radiation (e.g., visible, infrared, and/orultraviolet light) and generate image data based on the detectedelectromagnetic radiation. An imaging device may include acharge-coupled device (CCD) sensor or a complementarymetal-oxide-semiconductor (CMOS) sensor that generates electricalsignals in response to wavelengths of light. The resultant electricalsignals can be processed to produce image data. The image data generatedby an imaging device can include one or more images, which may be staticimages (e.g., photographs), dynamic images (e.g., video), or suitablecombinations thereof. The image data can be polychromatic (e.g., RGB,CMYK, HSV) or monochromatic (e.g., grayscale, black-and-white, sepia).The imaging device may include a lens configured to direct light onto animage sensor.

The imaging device can be a camera. A camera can be a movie or videocamera that captures dynamic image data (e.g., video). A camera can be astill camera that captures static images (e.g., photographs). A cameramay capture both dynamic image data and static images. A camera mayswitch between capturing dynamic image data and static images. Althoughcertain embodiments provided herein are described in the context ofcameras, it shall be understood that the present disclosure can beapplied to any suitable imaging device, and any description hereinrelating to cameras can also be applied to any suitable imaging device,and any description herein relating to cameras can also be applied toother types of imaging devices. A camera can be used to generate 2Dimages of a 3D scene (e.g., an environment, one or more objects, etc.).The images generated by the camera can represent the projection of the3D scene onto a 2D image plane. Accordingly, each point in the 2D imagecorresponds to a 3D spatial coordinate in the scene. The camera maycomprise optical elements (e.g., lens, mirrors, filters, etc). Thecamera may capture color images, greyscale image, infrared images, andthe like. The camera may be a thermal imaging device when it isconfigured to capture infrared images.

In some embodiments, the imaging device may include multiple lensesand/or image sensors. The imaging device may be capable of takingmultiple images substantially simultaneously. The multiple images mayaid in the creation of a 3D scene, a 3D virtual environment, a 3D map,or a 3D model. For instance, a right image and a left image may be takenand used for stereo-mapping. A depth map may be calculated from acalibrated binocular image. Any number of images (e.g., 2 or more, 3 ormore, 4 or more, 5 or more, 6 or more, 7 or more, 8 or more, 9 or more)may be taken simultaneously to aid in the creation of a 3D scene/virtualenvironment/model, and/or for depth mapping. The images may be directedin substantially the same direction or may be directed in slightlydifferent directions. In some instances, data from other sensors (e.g.,ultrasonic data, LIDAR data, data from any other sensors as describedelsewhere herein, or data from external devices) may aid in the creationof a 2D or 3D image or map.

The imaging device may capture an image or a sequence of images at aspecific image resolution. In some embodiments, the image resolution maybe defined by the number of pixels in an image. In some embodiments, theimage resolution may be greater than or equal to about 352×420 pixels,480×320 pixels, 720×480 pixels, 1280×720 pixels, 1440×1080 pixels,1920×1080 pixels, 2048×1080 pixels, 3840×2160 pixels, 4096×2160 pixels,7680×4320 pixels, or 15360×8640 pixels. In some embodiments, the cameramay be a 4K camera or a camera with a higher resolution.

The imaging device may capture a sequence of images at a specificcapture rate. In some embodiments, the sequence of images may becaptured standard video frame rates such as about 24p, 25p, 30p, 48p,50p, 60p, 72p, 90p, 100p, 120p, 300p, 50i, or 60i. In some embodiments,the sequence of images may be captured at a rate less than or equal toabout one image every 0.0001 seconds, 0.0002 seconds, 0.0005 seconds,0.001 seconds, 0.002 seconds, 0.005 seconds, 0.01 seconds, 0.02 seconds,0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2seconds, 5 seconds, or 10 seconds. In some embodiments, the capture ratemay change depending on user input and/or external conditions (e.g.rain, snow, wind, unobvious surface texture of environment).

The imaging device may have adjustable parameters. Under differingparameters, different images may be captured by the imaging device whilesubject to identical external conditions (e.g., location, lighting). Theadjustable parameter may comprise exposure (e.g., exposure time, shutterspeed, aperture, film speed), gain, gamma, area of interest,binning/subsampling, pixel clock, offset, triggering, ISO, etc.Parameters related to exposure may control the amount of light thatreaches an image sensor in the imaging device. For example, shutterspeed may control the amount of time light reaches an image sensor andaperture may control the amount of light that reaches the image sensorin a given time. Parameters related to gain may control theamplification of a signal from the optical sensor. ISO may control thelevel of sensitivity of the camera to available light.

In some alternative embodiments, an imaging device may extend beyond aphysical imaging device. For example, an imaging device may include anytechnique that is capable of capturing and/or generating images or videoframes. In some embodiments, the imaging device may refer to analgorithm that is capable of processing images obtained from anotherphysical device.

In some instances, different types of imaging devices may be provided.For example, a primary imaging sensor 305 and one or more secondaryimaging sensors 307 may be provided. The primary imaging sensor may alsobe referred to as a first imaging sensor, a main imaging sensor, or amain camera imaging sensor. In some instances, a primary imaging sensormay refer to an imaging device coupled to a gimbal. Alternatively or inaddition, the primary imaging sensor may refer to an imaging device withadjustable parameters, previously described herein. In some instances,image data captured by the primary imaging sensor may be configured tobe transmitted to a user terminal and/or viewed by an operator of theUAV. The image data captured by the primary imaging sensor may be afirst person view image of the UAV. In some instances, only one primaryimaging sensor may be coupled to a UAV. In some instances, only a singleprimary imaging sensor may be coupled to the processing modules on boarda UAV. While the primary imaging sensor is shown coupled directly to theapplication processing module (e.g., comprising image processing moduleand/or image transmission module) in FIG. 3, it is to be understood thatthe primary imaging sensor may be coupled to the application processingmodule via the image processing module as shown in FIG. 2.

In some instances, the primary imaging sensor may refer to an imagingdevice that is a payload of the UAV, and any description applicable toprimary imaging sensor may be applicable for other types of payloads.The payload of the UAV may govern, or be associated with a mission(e.g., aerial photography) or an objective of the UAV. In someinstances, payload related operations may or may not have real-timesensitive processing requirements. For example, payload relatedoperations may not be related to flight of the UAV, and it may not becritical that data is processed in real time. Alternatively, payloadrelated operations may be related to data which needs to be processed inreal time, depending on a function of the payload.

The payload of the UAV may include other devices. For example, thepayload may include one or more devices capable of emitting a signalinto an environment. In some instances, the payload may include anemitter along an electromagnetic spectrum (e.g., visible light emitter,ultraviolet emitter, infrared emitter). The payload may include a laseror any other type of electromagnetic emitter. The payload may emit oneor more vibrations, such as ultrasonic signals. The payload may emitaudible sounds (e.g., from a speaker). The payload may emit wirelesssignals, such as radio signals or other types of signals.

The payload may be capable of interacting with the environment. Forinstance, the payload may include a robotic arm. The payload may includean item for delivery, such as a liquid, gas, and/or solid component. Forexample, the payload may include pesticides, water, fertilizer,fire-repellant materials, food, packages, or any other item. Anyexamples herein of payloads may apply to devices that may be carried bythe movable object or that may be part of the movable object. Forinstance, one or more sensors may be part of the movable object. The oneor more sensors may or may be provided in addition to the payload. Thismay apply for any type of payload, such as those described herein.

The secondary imaging sensors may refer to any imaging sensors that arenot a primary imaging sensor. Secondary imaging sensor may also bereferred to herein as one or more other imaging sensors. Any number ofsecondary imaging sensors may be provided. For example, one, two, three,four, five, six, eight, ten, fifteen, twenty, or more secondary imagingsensors may be provided on board the UAV. In some instances, the abilityto provide for various secondary imaging sensors may be enabled by thedifferent processing modules (e.g., real-time sensing module and/orapplication processing module) provided on board the UAV which is ableto efficiently handle data transmitted by the various secondary sensors,e.g., in real time.

The one or more secondary imaging sensors may or may not comprise aresolution that is worse than that of the primary imaging sensor. Insome instances, the resolution of the secondary imaging sensors may beat least 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80,85, or 90% worse than a resolution of the primary imaging sensor.Alternatively or in addition, the secondary imaging sensors may beconfigured to capture gray scale image data. In some instances, thesecondary imaging sensors may not be a payload of the UAV. The secondaryimaging sensors may be used for flight, control, and/or navigation ofthe UAV. In some instances, the secondary imaging sensors may not becoupled to a gimbal. In some instances, the secondary imaging sensorsmay not have adjustable parameters. In some instances, image datacaptured by the secondary imaging devices may not be configured to betransmitted to a user terminal and/or viewed by an operator of the UAV.In some instances, image data captured by the secondary imaging devicesmay be configured to be processed (e.g., by a GPU) and used in passiveautonomous flight of the UAV. The passive autonomous flight may be areactionary flight of the UAV, e.g., passive obstacle avoidance orvision based hovering. Reactionary flight and/or passive autonomousflight may require real time processing of data (e.g., data generatedfrom the sensors).

In some instances, the secondary imaging sensors may maintain asubstantially static position relative to the UAV. For example, thesecondary imaging sensors may be embedded in a housing or a frame of theUAV. The static positions may be front, rear, top, bottom, left, andright. For example, the secondary imaging sensors may comprise a frontview imaging sensor, rear view imaging sensor, a bottom view imagingsensor, a left side imaging sensor, a right side imaging sensor, or atop view imaging sensor. Alternatively or in addition, the secondaryimaging sensors may comprise any arbitrary position relative to the UAV.In some instances a pair of secondary imaging sensors may be providedfor each static position. Alternatively or in addition, a secondaryimaging sensor provided at a static position may be a single device butcomprise stereovision and may be a binocular imaging sensor.

In some aspects, the relative position of the secondary imaging sensorsmay determine its function and/or determine how data collected by thesecondary imaging sensors is utilized. For example, data (e.g., imagedata) obtained from front view imaging sensors may be utilized inobstacle avoidance and map building. For example, data obtained fromlaterally placed imaging sensors (left, right, or rear view imagingsensors) images may be utilized in obstacle avoidance and map building.For example, data obtained from downward imaging sensors may be utilizedin detecting a height of the UAV relative to a ground and/or a velocityof the UAV.

The one or more sensors may include other types of sensors. Someexamples of types of sensors may include location sensors (e.g., globalpositioning system (GPS) sensors, mobile device transmitters enablinglocation triangulation), motion sensors, vision sensors (e.g., imagingdevices capable of detecting visible, infrared, or ultraviolet light,such as cameras), proximity or range sensors (e.g., ultrasonic sensors,lidar, time-of-flight or depth cameras), inertial sensors (e.g.,accelerometers, gyroscopes, and/or gravity detection sensors, which mayform inertial measurement units (IMUs)), altitude sensors, attitudesensors (e.g., compasses), pressure sensors (e.g., barometers),temperature sensors, humidity sensors, vibration sensors, audio sensors(e.g., microphones), and/or field sensors (e.g., magnetometers,electromagnetic sensors, radio sensors).

The global positioning system may provide a longitude, latitude,altitude and velocity information of the UAV. The compass may be anelectronic compass that provides direction information of the UAV. Theangular sensor can provide angular information of the tri-axisstabilizing gimbal. The inertial sensor may be a three-axis, six-axis ornine-axis sensor, and may provide acceleration, angular velocity, and/ordirection angle information of the UAV. In some instances, the inertialsensor may be a three-axis, six-axis or nine-axis sensor, and mayprovide acceleration, angular velocity, and/or direction angleinformation of the gimbal. The barometer may be used to measure anatmospheric pressure to calculate a flight height of the UAV. A downwardultrasonic sensor may be provided to measure a distance (e.g., height)between the UAV and a ground. In some instances, the downward ultrasonicsensor may measure the distance between the UAV and the ground byreflection echo and Doppler Effect. The time-of-flight (TOF) sensor mayemit near-infrared light which is modulated. The light emitted by theTOF sensor may be reflected upon striking an object. The TOF sensor mayobtain a distance information from the UAV to the object by calculatinga time difference or phase difference between the emitted light andreflected light.

Any number of sensors may be provided or coupled to the differentprocessing modules. For example, sensors equal to, or more than about 1,5, 10, 15, 20, 25, 30, 35, 40, 45, or 50 sensors may be coupled to theapplication processing module, real-time sensing module, and/or theflight control module. In some instances, one or more sensors may beremovably coupled to the different processing modules. For example, theapplication processing module may provide various interfaces such that auser may connect various sensors as desired. The sensors may bepositioned in any position relative to the UAV, e.g., on the front,back, top, bottom, within, or outside the UAV. In some instances,sensors may be provided within a housing of the UAV. Alternatively or inaddition, the sensors may be embedded in a housing of the UAV or coupledoutside the housing of the UAV.

One or more sensors of the same type may be provided on board the UAV.For example, 1, 2, 3, 4, 5, or more TOF sensors may be provided at left,right, front, rear and top sides of the UAV such that the distanceinformation to obstacles in various directions relative to the UAV canbe obtained. The different sensors of the same type may all be coupledto a same processing module. For example, 1, 2, 3, 4, 5, or more TOFsensors may be coupled to the real-time sensing module. Alternatively,different sensors of the same type may be coupled to differentprocessing modules. For example, some of the TOF sensors may be coupledto the real-time sensing module while other TOF sensors may be coupledto the flight control module.

The sensing data provided by the sensors may be used to control thespatial disposition, velocity, and/or orientation of the movable object(e.g., using a suitable processing unit and/or control module, asdescribed below). Alternatively, the sensors may be used to provide dataregarding the environment surrounding the movable object, such asweather conditions, proximity to potential obstacles, location ofgeographical features, location of manmade structures, and the like.

In some instances, different processing modules may be coupled todifferent types of sensors or devices, e.g., as illustrated in FIGS. 2,3 and 4. FIG. 4 illustrates a configuration where different types ofsensors or devices are coupled to different processing modules, inaccordance with embodiments. In some instances, the applicationprocessing module may be coupled to sensors or devices with adjustableparameters. For example, the application processing module may becoupled to an imaging device with adjustable parameters such asadjustable exposure, gain, gamma, area of interest, binning/subsampling,pixel clock, offset, triggering, ISO, etc. Alternatively or in addition,the application processing module may be coupled to a payload of theUAV. In some instances, a payload may refer to a cargo or equipment notrequired for flight, control, and navigation of the UAV. Examples of apayload may include, but are not limited to, a camera, a package,speakers, microphones, projectile ejecting device (e.g., flameretardant, pellets, etc). In some instances, the payload may be relatedto an overall UAV mission or task (e.g., photography), and theapplication processing module may be coupled to sensors or devicesrelated to an overall UAV mission or task. In some instances, theapplication processing module may be coupled to gimbal and/or a gimbalcontroller. The gimbal may comprise any type of gimbal, e.g., two-axisgimbal, three-axis gimbal, multi-axis gimbal, etc. The gimbal controllermay comprise a real-time system, e.g., process input in real time. Insome instances, the gimbal controller may be a micro-controller forcontrolling the servo angle of the gimbal such as a tri-axial gimbal.

Alternatively or in addition, the application processing module may becoupled to a sensor or a device whose data is configured to betransmitted to a user terminal and/or to an operator of the UAV. Theapplication processing module may be coupled to a sensor or a devicewhose output (e.g., data) does not need to be processed in real time.The output (e.g., data) by the sensor or device coupled to theapplication processing module may be used for deliberate and/or plannedflight (e.g., deliberate or planned automated flight) of the UAV. Insome instances, output by the sensor or device coupled to theapplication processing module may need to undergo substantial processingand/or analysis before it is useful for planned flight of the UAV. Forexample, images captured by the primary imaging sensor may be processedby the application processing module to extract features of a targetwhich may be tracked as further described herein. In some aspects, theapplication processing module may comprise a plurality of interfaces andmay be amendable to removably coupling to other sensors and/or devices.The various interfaces may comprise USB, UART, I2C, GPIO, I2S, SPI,MIPI, HPI, HDM, LVDS, and the like.

The real-time sensing module may be coupled to sensors or devices thatdo not have adjustable parameters, or minimally adjustable parameters.In some instances, the real-time sensing module may be coupled tosensors that do not have user adjustable parameters. In some instances,the real-time sensing module may be coupled to sensors that do not havea user interface (e.g., software or hardware) for adjustment ofparameters. In some instances, the real-time sensing module may not becoupled to a payload of the UAV. In some instances, the real-timesensing module may not be coupled to a gimbal and/or a gimbalcontroller. In some instances, the real-time sensing module may becoupled to a sensor or a device whose output (e.g., data) is notconfigured not to be transmitted to a user terminal and/or to anoperator of the UAV.

The real-time sensing module may be coupled to a sensor or a devicewhose output is processed in real time. The output by the sensor ordevice coupled to the real-time sensing module may be used for passiveautonomous flight (e.g., passive obstacle avoidance, vision basedhovering) of the UAV. In some instances, the output by the sensor ordevice coupled to the real-time sensing module may be used forreactionary flight of the UAV, substantially as described herein. Insome instances, output by the sensor or device coupled to the real-timesensing module may need to undergo substantial processing and/oranalysis before it is useful for passive flight of the UAV. For example,images captured by secondary imaging sensors (e.g., downward imagingsensor, etc) may be processed by the real-time sensing module for heightdetection and/or velocity detection. For example, images captured bysecondary imaging sensors (e.g., front view imaging sensors) may beprocessed by the real-time sensing module for map building or obstacleavoidance as further described herein.

As an example, the application processing module 401 may be coupled to aprimary imaging sensor 402 with adjustable parameters while thereal-time sensing module 403 may be coupled to one or more secondaryimaging sensors 404, 406 that do not have adjustable parameters. Forexample, the application processing module may be coupled to a primaryimaging sensor that is a payload of the UAV while the real-time sensingmodule may be coupled to one or more secondary imaging sensors which arenot a payload of the UAV. For example, the application processing modulemay be coupled to a primary imaging sensor via a gimbal while thereal-time sensing module may be coupled to one or more secondary imagingsensors which are embedded in a housing of the UAV. For example, theapplication processing module may be coupled to a primary imaging sensorwhose data (e.g., image data) is transmitted to a user terminal whilethe real-time sensing module may be coupled to one or more secondaryimaging sensors whose data is not transmitted to a user terminal. Forexample, the application processing module may be coupled to a primaryimaging sensor whose output is not processed in real time while thereal-time sensing module may be coupled to one or more secondary imagingsensors whose output is processed in real time. The output by the sensoror device coupled to the application processing module may be used fordeliberate or planned flight of the UAV while the output by the sensoror device coupled to the real-time sensing module may be used forpassive flight of the UAV. In some instances, the application processingmodule may be coupled to sensors that are not required to be used inflight or control of the UAV while the real-time sensing module may becoupled to at least some sensors whose data needs to be processed inorder to obtain information useful for passive flight of the UAV.

The flight control module may be coupled to other sensors or devices.The one or more sensors coupled to the flight control module may besensors that aid in maintenance of flight of the UAV. In some instances,sensors or devices coupled to the flight control module may beconfigured to indicate a state of the UAV, e.g., with minimal processingrequired by the flight control module. In some instances, the state ofthe UAV may comprise a position, orientation, and/or velocity of theUAV. For example, inertial sensors, barometers, global positioning unitsmay be coupled to the flight control module. In some instances, sensorsor devices coupled to the flight control module may be configured toindicate a position of the UAV relative to an object or obstacle (e.g.,ground, obstacle, etc). For example, ultrasonic sensors or time offlight sensors may be coupled to the flight control module forindicating a position of the UAV relative to an object or the ground.

As previously described herein, the flight control module may be coupledto one or more ESC controllers. For example, the flight control modulemay be electronically coupled or connected to one or more ESCcontrollers. In some instances, the flight control module may be indirect communication with the ESC controllers and may be responsible forultimate flight control of the UAV. In some aspects, the flight controlmodule may be coupled to a battery system controller. The battery systemcontroller may comprise a micro-controller for controlling batteryrelated system for the UAV. For example, the battery related system forthe UAV may comprise battery information display, battery informationtransmittal, historical information recording, battery defect detection,self-discharging, automatic balancing, and/or charging temperatureprotection. Alternatively or in addition, the battery system controllermay be coupled to other processing modules, e.g., the applicationprocessing module or the real-time sensing module.

The different processing modules described throughout may be configuredto handle different processing requirements of the UAV as describedthroughout. For example, the application processing module may processapplications or tasks that require an extensive amount of processingpower and do not require real-time processing of input. The real-timesensing module may process applications or tasks that require real-timeprocessing of input and/or applications that require an intermediateamount of processing power. The flight control module may processinformation from sensors in order to maintain stable flight of the UAVand may affect directed and/or passive automated flight as instructed bythe real-time processing module and/or the real-time sensing module,e.g., by instructing ESC controllers to affect movement of one or morepropulsion units.

The different processing modules may comprise different processingcapabilities, e.g., as necessitated by their different functionalities.Processing capabilities as used herein may be measured by a clock speedand/or a floating-point operations per second capable by the differentprocessing modules. In some instances, the processing power of theapplication processing module may be equal to or greater than about 10%,15%, 20%, 25%, 40%, 60%, 80%, 100%, 125%, 150%, 175%, 200%, 250%, 300%or more than the processing power of the real-time sensing module. Insome instances, the processing power of the application processingmodule may be equal to or greater than about 10%, 15%, 20%, 25%, 40%,60%, 80%, 100%, 125%, 150%, 175%, 200%, 250%, 300% or more than theprocessing power of the flight control module. In some instances, theprocessing power of the real-time sensing module may be equal to orgreater than about 10%, 15%, 20%, 25%, 40%, 60%, 80%, 100%, 125%, 150%,175%, 200%, 250%, 300% or more than the processing power of the flightcontrol module.

The division of the functionalities between the different modules mayenable efficient use of UAV resources and enable enhanced UAVfunctionalities. Various functions of the UAV may be implemented usingthe different processing modules, or a subset of the processing modules.FIG. 5 illustrates different flight related functions 500 which requirefunctioning, or processing by different modules, in accordance withembodiments. The different processing modules may be selectively useddepending on the functionality desired of the UAV. For example, theflight control module may be sufficient to enable stable flight 501 ofthe UAV. In some instances, the flight control module may process astate of the UAV and maintain stable flight of the UAV based on sensordata (e.g., inertia sensor, compass, barometer, GPS, ultrasonic sensor,and/or TOF sensor data) directly coupled to the flight control module.The stable flight may be maintained with or without aid of otherprocessing modules such as the application processing module or thereal-time sensing module.

In some instances, the flight control module may lack processing powerrequired to implement certain functionalities of the UAV. The real-timesensing module and/or the application processing module may worktogether with the flight control module in situations where additionalprocessing power is required and/or helpful. In some instances, thereal-time sensing module may process data when real-time processing ofinformation is necessary or helpful. For example, the UAV may berequired to autonomously, or passively, react to external objects orobstacles based in real time. In such cases, the UAV may implementvision based hovering 503 and/or passive obstacle avoidance 505 with aidof the real-time sensing module and the flight control module.

In some instances, the application processing module may process datawhen real-time processing of information is unnecessary and/or theprocessing requirements are particularly burdensome. For example, theUAV may be required to extract features from images for target trackingor follow waypoints according to designated points (e.g., locations) andinstructed operations. In such cases, the UAV may implement the targettracking 507 and/or waypoint flight 509 with aid of the applicationprocessing module and the flight control module.

In some instances, the application processing module may work with thereal-time sensing module and the flight control module where necessaryor helpful. For example, the real-time sensing module may acquirerelevant data from one or more sensors directly coupled to it andprocess the data in real time. The processed data may be transmitted tothe application processing module which may further process the data togain additional data or information. For example, the real-time sensingmodule may calculate a parallax data based on data from one or moresensors. The real-time sensing module may further transmit the parallaxdata to the application processing module which may generate a grid mapbased in part on the parallax data and plan a trajectory in which noobstacle is found to implement a tap and go feature 511. In someinstances, the real-time sensing module may be operative at all timesand may govern passive flight features of the UAV. For example, whilethe real-time sensing module may not be required in implementingtracking 507 or waypoint flight 509, it may nevertheless function toensure that the UAV is avoiding obstacles while tracking a target ornavigating along waypoints. Alternatively, the real-time sensing modulemay be optionally turned on or off depending on user preference ordepending on a functionality or operation required of the UAV.

The following UAV features below illustrate specific featuresimplemented by different processors. The features listed below are meantto be exemplary and it is to be understood that various other featuresnot listed may be implemented efficiently, or enabled by the disclosureprovided herein.

Vision Based Hovering

In some instances, the real-time processing module together with theflight control module may enable a vision based hovering function forthe UAV. Vision based hovering may refer to hovering of the UAV based atleast in part on image data. For example, vision based hovering functionof the UAV may ensure that the UAV is above a floor or below a ceilingby at least a predetermined threshold based on image data acquired byone or more imaging sensors (e.g., secondary imaging sensors). FIG. 6illustrates a method 600 of implementing vision based hovering for theUAV, in accordance with embodiments. The vision based hovering featuremay require real-time processing and may place a large computationalcost on processors. In step 601, the real-time sensing module mayreceive sensor data of the UAV transmitted by a flight control module.In some instances, the sensor data may comprise attitude information ofthe UAV. The UAV attitude information may be measured by one or moresensors coupled to the flight control module, e.g., an inertial sensor.In step 603, the real-time sensing module may calculate a state of theUAV based on (1) the received sensor data, and (2) image data obtainedfrom one or more imaging sensors coupled to the real-time sensingmodule. The received sensor data may comprise raw sensor data.Alternatively or in addition, the received sensor data may compriseprocessed sensor data. For example, raw sensor data may be processed bythe flight control module before being transmitted to the real-timesensing module. In some instances, the state of the UAV may comprise aheight and/or velocity of the UAV. The one or more imaging sensorscoupled to the UAV may comprise downward imaging sensors embedded in aframe of the UAV as previously described herein. Optionally, in order tocalculate the state of the UAV more accurately and reliably, thereal-time sensing module may perform sensor data fusion with additionalsensor data prior to calculating a state of the UAV. For example,additional sensor data such as ultrasonic data, barometer data, GPSdata, or TOF data may be utilized by the real-time sensing module incalculating the height or velocity of the UAV. In some instances, thedata fusion may be performed by the flight control module, e.g., priorto being transmitted to the real-time sensing module. In step 605, thecalculated state of the UAV may be transmitted to the flight controlmodule. In step 607, based on the calculated state, the flight controlmodule may send one or more instructions to an ESC controller toimplement vision based hovering.

Passive Obstacle Avoidance

In some instances, the real-time processing module together with theflight control module may enable a passive obstacle avoidance functionfor the UAV. Passive obstacle avoidance may refer to autonomousavoidance of obstacles by the UAV during flight of the UAV. In someinstances, passive obstacle avoidance may comprise lateral movement ofthe UAV to avoid obstacles. In some instances, passive obstacleavoidance may comprise vertical movement of the UAV to avoid obstacles.FIG. 7 illustrates a method 700 of implementing passive obstacleavoidance for the UAV, in accordance with embodiments. The passiveobstacle avoidance feature may require real-time processing and mayplace a large computational burden on processors. In step 701, imagedata collected by imaging sensors (e.g., front view binocular sensors)may be transmitted to a real-time sensing module. In some instances, theimaging sensors may be secondary imaging sensors directly coupled to thereal-time sensing module, e.g., front view binocular sensors. The imagedata may comprise information regarding an obstacle in a flight path ofthe UAV. In step 703, the real time sensing module may calculate adistance to an obstacle from the image data. In step 705, the real-timesensing module may transmit the calculated distance to a flightcontroller. In step 707, based on the calculated distance, the flightcontroller may change a trajectory of the flight path, or a speed of theUAV, e.g., by sending one or more instructions to the ESC controller. Insome instances, the obstacle avoidance measure may be to stop or hoverthe UAV in a stable position. Optionally, in order to calculate adistance to the obstacle more accurately and reliably, the real-timesensing module may perform sensor data fusion with additional sensordata prior to calculating a distance to the obstacle. For example, datafrom additional sensors such as TOF sensors provided on variouslocations of the UAV (e.g., on the left, right, rear, front, and topsides of the UAV) may be utilized by the real-time sensing module incalculating a distance from the UAV to the obstacle. The TOF sensors maybe directly coupled to the real time sensing module and/or the flightcontrol module.

Tracking

In some instances, the application processing module together with theflight control module may enable a tracking function for the UAV. Thetracking function may comprise an image based tracking function. Forexample, based on discernable features of an object within an imagedata, the UAV may be capable of tracking a target. In some instances,the tracking function may place an extensive computational burden onprocessors. For example, an imaging device (e.g., primary imagingsensor) may capture one or more images. The images may be transmitted toan application processing module (e.g., GPU of the applicationprocessing module or GPU coupled to application processing module) whichmay perform feature extraction on the image data, e.g., on board theUAV.

In some instances, the feature extraction may be used to identifypotential targets (e.g., target objects) to track. For example, aplurality of feature points may be identified. A feature point can be aportion of an image (e.g., an edge, corner, interest point, blob, ridge,etc.) that is uniquely distinguishable from the remaining portions ofthe image and/or other feature points in the image. Optionally, afeature point may be relatively invariant to transformations of theimaged object (e.g., translation, rotation, scaling) and/or changes inthe characteristics of the image (e.g., brightness, exposure). A featurepoint may be detected in portions of an image that is rich in terms ofinformational content (e.g., significant 2D texture). A feature pointmay be detected in portions of an image that are stable underperturbations (e.g., when varying illumination and brightness of animage). Feature detection as described herein can be accomplished usingvarious algorithms which may extract one or more feature points fromimage data.

The algorithm may be an edge detection algorithm, a corner detectionalgorithm, a blob detection algorithm, or a ridge detection algorithm.In some embodiments, the corner detection algorithm may be a “Featuresfrom accelerated segment test” (FAST). In some embodiments, the featuredetector may extract feature points and calculate a feature point numberusing FAST. In some embodiments, the feature detector can be a Cannyedge detector, Sobel operator, Harris & Stephens/Plessy/Shi-Tomasicorner detection algorithm, the SUSAN corner detector, Level curvecurvature approach, Laplacian of Gaussian, Difference of Gaussians,Determinant of Hessian, MSER, PCBR, or Grey-level blobs, ORB, FREAK, orsuitable combinations thereof. The identified feature points may beutilized in constructing a boundary 803 around the target as shown inFIG. 8.

In some instances, the images, or processed images may be sent to a userterminal which may be viewed by an operator or a user. FIG. 8illustrates an image 800 on a user terminal 801, in accordance withembodiments. The image may comprise potential targets 802, 804 that wereidentified via feature extraction. A user may select a target object tobe tracked. For example, the user may tap on target 802, using anappendage, stylus, etc.

Meanwhile, the UAV may continue capturing images. In the images, anoptimal feature match may be searched for. In some instances, theoptimal feature match may be searched for by the application processingmodule and/or image processing module. Alternatively or in addition, theoptimal feature match may be searched for by other processing modulessuch as the real-time sensing module. For example, in a sequence ofimages, feature extraction may be performed and be used for identifyingthe same target selected to be tracked. Once the target is identified,the application processing module may generate a trajectory based uponthe position of the target object on the image. In some instances, theapplication processing module may generate the trajectory additionallybased upon other information, e.g., the latest grid map available to theUAV. Relevant signals may be generated and/or sent to the flight controlmodule to further affect actual tracking via instructions sent to theone or more propulsion mechanisms on board the UAV from the flightcontrol module. Alternatively or in addition, relevant signals may begenerated and/or sent to the gimbal controller and/or imaging device toaffect actual tracking of the target. For example, a state (e.g.,position, zoom, etc) of the imaging device (e.g., primary imagingsensor) on board the UAV may be varied in order to implement thetracking feature.

In some instances, a distance between the UAV and the target object maybe maintained at a predetermined distance, e.g., along the plannedtrajectory for tracking. In some instances, the distance between the UAVand the target object may be user configurable. In some instances, thepredetermined distance may be equal to, or less than about 5000 m, 2000m, 1000 m, 500 m, 200 m, 150 m, 100 m, 75 m, 50 m, 40 m, 30 m, 20 m, 10m, or 5 m. In some instances, a relative position of the target objectwithin the captured image may be kept constant. For example, the targetobject may be kept in a center of the image. In some instances, this maybe implemented via flight control module affecting movement of the UAV.Alternatively or in addition, this may be implemented via gimbalcontroller affecting a movement of the gimbal to adjust a position ofthe imaging device. In some instances, a relative size of the targetobject within captured images may be kept constant. For example, thetarget object may occupy a set number of pixels within the image. Insome instances, this may be implemented via flight control module affectmovement of the UAV. Alternatively or in addition, this may beimplemented via varying parameters of the imaging device such as a zoomof the imaging device. During the tracking, a height of UAV may bemaintained at a predetermined distance. In some instances, the UAV maymove laterally (e.g., sideways, forward, or backward) while tracking atarget. In some instances, TOF sensors provide at sides of the UAV mayprovide anti-collision protection.

Waypoint Flight

In some instances, the application processing module together with theflight control module may enable a waypoint flight function for the UAV.The waypoint flight may refer to directed autonomous flight to one ormore target locations. The one or more target locations may be selectedby a user, e.g., on a map 806. Alternatively, there may be apreconfigured set of target locations amongst which the UAV mayautonomously fly along. The waypoint flight feature may require lessreal-time processing, and may be implemented by the image processor, thetask processor and the flight controller. After determination of thewaypoints (e.g., by user selection) the application processing modulemay send generate and send relevant signals to the flight control modulefor the UAV to follow the waypoints based upon the recorded waypoints.

One Key Panorama

In some instances, during the flight (e.g., autonomous flight), theapplication processing module may control the image processing module tocapture images, videos, etc. In addition, the application processingmodule may generate and/or transmit signals to the flight control moduleto rotate the UAV. A sequence of images captured during this operationmay be stitched into a panoramic image. In some instances, this featuremay be affected by a single set of instructions from a user or operatorof the UAV. For example, a user may provide an input (e.g., touch ascreen, push a button, etc) and the UAV may implement the feature. Insome instances, the one key panorama feature may require less real-timeprocessing.

Active Obstacle Avoidance

Under the tap and go feature, tapping on a portion of a user interfacemay cause a UAV to autonomously fly towards the target. The target maycomprise a target location (e.g., on a map, in a three dimensionalspace, etc) or a target object. For example, by tapping on portion 807of the image 800, a user may cause the UAV to autonomously fly towardslocation 807 in a three dimensional space. For example, by tapping on aportion of the map 806, a user may cause the UAV to autonomously flytowards the coordinates of the tapped location. For example, by tappingon an object 804, the user may cause the UAV to autonomously fly towardsthe target object.

In some instances, the tap and go feature may be implemented with aid ofthe real-time sensing module, the application processing module, and theflight control module. This feature requires huge computational cost butless real-time processing. In some instances, a user may tap on aportion of the map 806, e.g. on a user interface or a user terminal.Meanwhile, the real-time sensing module may receive image informationobtained by the secondary imaging sensors (e.g., front view binocularsensors) and calculate a parallax data. The parallax data may betransmitted to the application processing module. The applicationprocessing module may generate a grid map. For example, the grid may begenerated based on output or data transmitted from the real-time sensingmodule. The application processing module may further plan a trajectoryto the tapped location along a direction on which no obstacle is foundbased in part on the parallax data. Subsequently, a control instructionmay be generated and sent to the flight control module which may affectactual flight of the UAV along the planned trajectory. The flight alongthe trajectory which avoids potential obstacles may comprise an activeobstacle avoidance feature of the UAV, implemented with aid of thereal-time sensing module, the application processing module, and theflight control module.

FIG. 10 illustrates methods for managing flight of an unmanned aerialvehicle, in accordance with embodiments. Substantially as describedthroughout, the present disclosure may provide a method 1001 formanaging flight of a UAV. The method may comprise a step 1002 of runningan operating system with aid of an application module. In someinstances, the operating system may be a non-real time operating systemand/or may comprise a general operating system. In step 1004, data maybe processed in real time with aid of a real-time sensing module. Insome instances, the data may be processed without aid of the operatingsystem. The real-time sensing module may be in direct communication withthe application processing module. In step 1006, flight of the UAV maybe effected with aid of one or more propulsion units. The one or morepropulsion units may be controlled by a flight control module which maybe in direct communication with the application processing module andthe real-time sensing module. In some instances, the flight controlmodule may be in direct communication with one or more ESC controllersand may control one or more propulsion units that effect flight of theUAV. The different processing modules may be provided on board the UAV.Alternatively, some of the processing modules may be provided off-boardthe UAV, e.g., on a ground terminal.

In some instances, a subset of the different processing modules mayimplement a predetermined function of the UAV. The predeterminedfunction may be a feature enabled by the UAV hardware architecture ofthe present disclosure. For example, two of the application processingmodule, real-time sensing module, and a flight control module mayimplement a predetermined function of the UAV. In some instances, thepredetermined function may comprise simultaneous localization andmapping (SLAM). For example, the application processing module maycomprise capabilities to build a map (e.g., two dimensional or threedimensional map) and a location of the UAV's location within the map maybe kept track of, e.g., with aid of various sensors. In some instances,the predetermined function may comprise vision-based hovering, passiveobstacle avoidance, tracking, or waypoint flight substantially asdescribed throughout.

In some instances, the two of the three modules may include theapplication processing module and the flight control module. In someinstances, the subset of the different processing modules may excludethe real-time sensing module. This may be in instances there thepredetermined function does not require real-time processing. Forexample, in implementing features which require planning ahead, realtime processing of data may not be critical. In some instances, thepredetermined function may not require real-time processing for directedor planned autonomous flight features, e.g., target tracking or waypointflight. Target tracking or waypoint flight may comprise directed orplanned autonomous flight features because a user may deliberatelyprovide instructions for the UAV to undergo the autonomous flight, e.g.,to accomplish target tracking or waypoint flight.

In some instances, two of the three modules may include the real-timesensing module and the flight control module. This may be in instanceswhere the predetermined function requires real-time processing. Forexample, in implementing features which are reactionary in nature, realtime processing of data may be of importance. In some instances, thepredetermined function may require real-time processing for passiveautonomous flight features, e.g., vision based hovering or passiveobstacle avoidance. Vision based hovering or passive obstacle avoidancemay comprise passive autonomous flight features because the UAV maypassively implement the flight features without user input.

In some instances, all three modules (e.g., the application processingmodule, the real-time sensing module, and the flight control module) mayimplement a function of the UAV. The function of the UAV may comprise anactive autonomous flight feature, e.g., trajectory planning so as toavoid obstacles and subsequent obstacle avoidance.

In some instances, the different processing modules may be furthercoupled to an image processor and/or an image transmission processor,substantially as described elsewhere. The image processor or the imagetransmission processor may, individually or collectively with theapplication processing module, implements a predetermined function ofthe UAV. In some instances, the predetermined function may be related toimage capturing or image data captured by an imaging sensor. Forexample, the predetermined function may be image capture, data encoding,or panoramic image stitching.

In some instances, a system may be provided for implementing the method1001. The system may comprise an application processing moduleconfigured to run an operating system, a real-time sensing module incommunication with the application processing module, the real-timesensing module configured to process data in real time, and a flightcontrol module in direct communication with the application processingmodule and the real-time sensing module, the flight control modulefurther configured to control one or more propulsion units that effectflight of the UAV.

In some instances, a UAV may be provided for implementing the method1001. The UAV may comprise one or more propulsion units that effectflight of the UAV, an application module configured to run an operatingsystem, a real-time sensing module in communication with the applicationprocessing module, the real-time sensing module configured to processdata in real time; and, a flight control module in direct communicationwith the application processing module and the real-time sensing module,the flight control module further configured to control the one or morepropulsion units.

In some instances, a non-transitory computer readable medium formanaging flight of an unmanned aerial vehicle (UAV) may be provided forimplementing the method 1001. The non-transitory computer readablemedium comprising code, logic, or instructions to run an operatingsystem with aid of an application module, process data in real time withaid of a real-time sensing module in communication with the applicationprocessing module, and effect flight of the UAV with aid of one or morepropulsion units, the one or more propulsion units controlled by aflight control module in direct communication with the applicationprocessing module and the real-time sensing module.

Substantially as described throughout, the present disclosure mayprovide another method 1010 for managing flight of a UAV. The method maycomprise a step 1012 of receiving data, at an application processingmodule, from a primary imaging sensor. The primary imaging sensor may beconfigured to capture data according to instructions from a user. Instep 1014, data may be received at a real-time sensing module. Thereceived may be transmitted from one or more secondary imaging sensors.The primary imaging sensor and/or secondary sensors may be located onboard the UAV. In some instances, the one or more secondary imagingsensors may be configured to capture data autonomously, e.g., withoutinput from a user. Subsequently, in step 1016, data processed by theapplication processing module or the real-time sensing module may beused to aid flight of the UAV.

In some instances, the primary imaging sensor may be coupled to acarrier. In some instances, the carrier may refer to a carrier of apayload. In some instances, the carrier may be a gimbal, substantiallyas described herein (e.g., multi-axis, 3-axis, etc). In some instances,the application processing module may be coupled directly to a carriercontroller, which may be configured to affect movement of the carrier.In some instances, the application processing module may generate orrelay one or more control signals to the carrier controller to affectmovement of the carrier.

The application processing module may be substantially as describedthroughout. For example, the application processing module may beconfigured to run an operating system. The operating system may be anon-real time operating system. In some instances, the non-real timeoperating system may comprises a general purpose operating system thatcan run a variety of applications, depending on mission objectives oruser preference.

In some instances, additional processing modules may be provided. Forexample, an image module may be provided and may be operably coupled tothe application processing module. The image module may comprise animage processor and an image transmission processor. In some instances,the image module, or its components, may be integrated into theapplication processing module. Alternatively, the image module, or itscomponents, may not be integrated into the application processingmodule. In some instances, the image module, individually orcollectively with the application processing module, may implement apredetermined function of the UAV. The predetermined function may berelated to image capturing or image data captured by the primary imagingsensor. For example, the predetermined function may comprise imagecapture, data encoding, and panoramic image stitching.

In some instances, a flight control module may be provided forcontrolling one or more propulsion units on board the UAV. In someinstances, the data from the primary imaging sensor may be configured tobe shown on a user terminal in communication with the UAV. In someinstances, the application processing module may be configured toextract features from the data received from the primary imaging sensor.Additionally, the application processing module may be utilized in videoencoding, system upgrades, or enabling system interoperability and mayfurther provide various interfaces for inter-device connectivity.

In some instances, the real-time sensing module may be configured tocalculate a state of the UAV from the data received from the secondaryimaging sensors. The state of the UAV may include a height or velocityof the UAV. After calculation by the real-time sensing module, thecalculated height or velocity of the UAV may be utilized in sensor datafusion with other data from other sensors. In some instances, the otherdata from other sensors may originate from sensors directly incommunication with the real-time sensing module. Alternatively or inaddition, the other data from the sensors may originate from sensors indirect communication with a flight control module. In some instances,the other data may comprise ultrasonic data, barometer data, GPS data,or time of flight (TOF) data. The real-time sensing module and/or theflight control module may be configured, or be capable of undertakingthe sensor data fusion.

In some instances, a system may be provided for implementing the method1010. The system may comprise an application processing moduleconfigured to receive data from a primary imaging sensor, wherein theprimary imaging sensor captures data according to instructions from auser, and a real-time sensing module configured to receive data from oneor more secondary imaging sensors, wherein the one or more secondaryimaging sensor captures data autonomously, and wherein data processed bythe application processing module or the real-time sensing module isused to aid flight of the UAV.

In some instances, a UAV may be provided for implementing the method1010. The UAV may comprise one or more propulsion units that effectflight of the UAV, an application processing module configured toreceive data from a primary imaging sensor, wherein the primary imagingsensor captures data according to instructions from a user, and areal-time sensing module configured to receive data from one or moresecondary imaging sensors, wherein the one or more secondary imagingsensor is configured to capture data autonomously, and wherein dataprocessed by the application processing module or the real-time sensingmodule is used to aid flight of the UAV.

In some instances, a non-transitory computer readable medium may beprovided for managing flight of an unmanned aerial vehicle (UAV). Thenon-transitory computer readable medium may comprise code, logic, orinstructions to receive data, at an application processing module, froma primary imaging sensor, wherein the primary imaging sensor capturesdata according to instructions from a user, and receive data, at areal-time sensing module, from one or more secondary imaging sensors,wherein the one or more secondary imaging sensor is configured tocapture data autonomously, and wherein data processed by the applicationprocessing module or the real-time sensing module is used to aid flightof the UAV.

The systems provided herein may enable a hardware architecture of theUAV to operate with improved efficiency, improve operationalcapabilities of the UAV, and enable novel features to be undertaken. Byproviding different processing modules to process different types ofdata and communicate with one another directly to implement UAVfeatures, the UAV system may be able to efficiently divide up processingof data between the application processing module and real-time sensingmodule. In addition, all necessary processing of data may be undertakenon board the UAV. Direct communication between the different processingmodules may ensure that data which requires real time processing anddata that does not are both processed efficiently. The differentialcoupling of sensors may ensure that relevant information is directed tothe relevant processing modules. The aforementioned may be enabled,amongst other things, by the application processing module. As the coreof the UAV hardware architecture, the application processing module mayprovide powerful processing capabilities, modularity to the UAV system,and security to the entire UAV system.

The systems, devices, and methods described herein can be applied to awide variety of movable objects. As previously mentioned, anydescription herein of an aerial vehicle may apply to and be used for anymovable object. A movable object of the present disclosure can beconfigured to move within any suitable environment, such as in air(e.g., a fixed-wing aircraft, a rotary-wing aircraft, or an aircrafthaving neither fixed wings nor rotary wings), in water (e.g., a ship ora submarine), on ground (e.g., a motor vehicle, such as a car, truck,bus, van, motorcycle, a movable structure or frame such as a stick,fishing pole; or a train), under the ground (e.g., a subway), in space(e.g., a spaceplane, a satellite, or a probe), or any combination ofthese environments. The movable object can be a vehicle, such as avehicle described elsewhere herein. In some embodiments, the movableobject can be mounted on a living subject, such as a human or an animal.Suitable animals can include avines, canines, felines, equines, bovines,ovines, porcines, delphines, rodents, or insects.

The movable object may be capable of moving freely within theenvironment with respect to six degrees of freedom (e.g., three degreesof freedom in translation and three degrees of freedom in rotation).Alternatively, the movement of the movable object can be constrainedwith respect to one or more degrees of freedom, such as by apredetermined path, track, or orientation. The movement can be actuatedby any suitable actuation mechanism, such as an engine or a motor. Theactuation mechanism of the movable object can be powered by any suitableenergy source, such as electrical energy, magnetic energy, solar energy,wind energy, gravitational energy, chemical energy, nuclear energy, orany suitable combination thereof. The movable object may beself-propelled via a propulsion system, as described elsewhere herein.The propulsion system may optionally run on an energy source, such aselectrical energy, magnetic energy, solar energy, wind energy,gravitational energy, chemical energy, nuclear energy, or any suitablecombination thereof. Alternatively, the movable object may be carried bya living being.

In some instances, the movable object can be a vehicle. Suitablevehicles may include water vehicles, aerial vehicles, space vehicles, orground vehicles. For example, aerial vehicles may be fixed-wing aircraft(e.g., airplane, gliders), rotary-wing aircraft (e.g., helicopters,rotorcraft), aircraft having both fixed wings and rotary wings, oraircraft having neither (e.g., blimps, hot air balloons). A vehicle canbe self-propelled, such as self-propelled through the air, on or inwater, in space, or on or under the ground. A self-propelled vehicle canutilize a propulsion system, such as a propulsion system including oneor more engines, motors, wheels, axles, magnets, rotors, propellers,blades, nozzles, or any suitable combination thereof. In some instances,the propulsion system can be used to enable the movable object to takeoff from a surface, land on a surface, maintain its current positionand/or orientation (e.g., hover), change orientation, and/or changeposition.

The movable object can be controlled remotely by a user or controlledlocally by an occupant within or on the movable object. In someembodiments, the movable object is an unmanned movable object, such as aUAV. An unmanned movable object, such as a UAV, may not have an occupantonboard the movable object. The movable object can be controlled by ahuman or an autonomous control system (e.g., a computer control system),or any suitable combination thereof. The movable object can be anautonomous or semi-autonomous robot, such as a robot configured with anartificial intelligence.

The movable object can have any suitable size and/or dimensions. In someembodiments, the movable object may be of a size and/or dimensions tohave a human occupant within or on the vehicle. Alternatively, themovable object may be of size and/or dimensions smaller than thatcapable of having a human occupant within or on the vehicle. The movableobject may be of a size and/or dimensions suitable for being lifted orcarried by a human. Alternatively, the movable object may be larger thana size and/or dimensions suitable for being lifted or carried by ahuman. In some instances, the movable object may have a maximumdimension (e.g., length, width, height, diameter, diagonal) of less thanor equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. Themaximum dimension may be greater than or equal to about: 2 cm, 5 cm, 10cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. For example, the distance betweenshafts of opposite rotors of the movable object may be less than orequal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m.Alternatively, the distance between shafts of opposite rotors may begreater than or equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m,or 10 m.

In some embodiments, the movable object may have a volume of less than100 cm×100 cm×100 cm, less than 50 cm×50 cm×30 cm, or less than 5 cm×5cm×3 cm. The total volume of the movable object may be less than orequal to about: 1 cm³, 2 cm³, 5 cm³, 10 cm³, 20 cm³, 30 cm³, 40 cm³, 50cm³, 60 cm³, 70 cm³, 80 cm³, 90 cm³, 100 cm³, 150 cm³, 200 cm³, 300 cm³,500 cm³, 750 cm³, 1000 cm³, 5000 cm³, 10,000 cm³, 100,000 cm³, 1 m³, or10 m³. Conversely, the total volume of the movable object may be greaterthan or equal to about: 1 cm³, 2 cm³, 5 cm³, 10 cm³, 20 cm³, 30 cm³, 40cm³, 50 cm³, 60 cm³, 70 cm³, 80 cm³, 90 cm³, 100 cm³, 150 cm³, 200 cm³,300 cm³, 500 cm³, 750 cm³, 1000 cm³, 5000 cm³, 10,000 cm³, 100,000 cm³,1 m³, or 10 m³.

In some embodiments, the movable object may have a footprint (which mayrefer to the lateral cross-sectional area encompassed by the movableobject) less than or equal to about: 32,000 cm², 20,000 cm², 10,000 cm²,1,000 cm², 500 cm², 100 cm², 50 cm², 10 cm², or 5 cm². Conversely, thefootprint may be greater than or equal to about: 32,000 cm², 20,000 cm²,10,000 cm², 1,000 cm², 500 cm², 100 cm², 50 cm², 10 cm², or 5 cm².

In some instances, the movable object may weigh no more than 1000 kg.The weight of the movable object may be less than or equal to about:1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg,8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg,or 0.01 kg. Conversely, the weight may be greater than or equal toabout: 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10kg, 9 kg, 8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1kg, 0.05 kg, or 0.01 kg.

In some embodiments, a movable object may be small relative to a loadcarried by the movable object. The load may include a payload and/or acarrier, as described in further detail below. In some examples, a ratioof a movable object weight to a load weight may be greater than, lessthan, or equal to about 1:1. In some instances, a ratio of a movableobject weight to a load weight may be greater than, less than, or equalto about 1:1. Optionally, a ratio of a carrier weight to a load weightmay be greater than, less than, or equal to about 1:1. When desired, theratio of an movable object weight to a load weight may be less than orequal to: 1:2, 1:3, 1:4, 1:5, 1:10, or even less. Conversely, the ratioof a movable object weight to a load weight can also be greater than orequal to: 2:1, 3:1, 4:1, 5:1, 10:1, or even greater.

In some embodiments, the movable object may have low energy consumption.For example, the movable object may use less than about: 5 W/h, 4 W/h, 3W/h, 2 W/h, 1 W/h, or less. In some instances, a carrier of the movableobject may have low energy consumption. For example, the carrier may useless than about: 5 W/h, 4 W/h, 3 W/h, 2 W/h, 1 W/h, or less. Optionally,a payload of the movable object may have low energy consumption, such asless than about: 5 W/h, 4 W/h, 3 W/h, 2 W/h, 1 W/h, or less.

FIG. 11 illustrates an unmanned aerial vehicle (UAV) 1100, in accordancewith embodiments. The UAV may be an example of a movable object asdescribed herein, to which the method and apparatus of discharging abattery assembly may be applied. The UAV 1100 can include a propulsionsystem having four rotors 1102, 1104, 1106, and 1108. Any number ofrotors may be provided (e.g., one, two, three, four, five, six, ormore). The rotors, rotor assemblies, or other propulsion systems of theunmanned aerial vehicle may enable the unmanned aerial vehicle tohover/maintain position, change orientation, and/or change location. Thedistance between shafts of opposite rotors can be any suitable length1110. For example, the length 1110 can be less than or equal to 2 m, orless than equal to 5 m. In some embodiments, the length 1110 can bewithin a range from 40 cm to 1 m, from 10 cm to 2 m, or from 5 cm to 5m. Any description herein of a UAV may apply to a movable object, suchas a movable object of a different type, and vice versa. The UAV may usean assisted takeoff system or method as described herein.

FIG. 12 is a schematic illustration by way of block diagram of a system1200 for controlling a movable object. The system 1200 may be an exampleof a simplified UAV hardware architecture without distinction betweendifferent processing modules described herein. The system 1200 caninclude a sensing module 1202 (also referred to as a “sensing circuit”),processing unit 1204 (also referred to as “processing circuit”),non-transitory computer readable medium 1206, control module 1208 (alsoreferred to as “control circuit”), and communication module 1210 (alsoreferred to as “communication circuit”).

The sensing module 1202 can utilize different types of sensors thatcollect information relating to the movable objects in different ways.Different types of sensors may sense different types of signals orsignals from different sources. For example, the sensors can includeinertial sensors, GPS sensors, proximity sensors (e.g., lidar), orvision/image sensors (e.g., a camera). The sensing module 1202 can beoperatively coupled to a processing unit 1204 having a plurality ofprocessors. In some embodiments, the sensing module can be operativelycoupled to a transmission module 1212 (also referred to as a“transmission circuit” or “transmitter,” e.g., a Wi-Fi imagetransmission module) configured to directly transmit sensing data to asuitable external device or system. For example, the transmission module1212 can be used to transmit images captured by a camera of the sensingmodule 1202 to a remote terminal.

The processing unit 1204 can have one or more processors, such as aprogrammable processor (e.g., a central processing unit (CPU)). Theprocessing unit 1204 can be operatively coupled to a non-transitorycomputer readable medium 1206. The non-transitory computer readablemedium 1206 can store logic, code, and/or program instructionsexecutable by the processing unit 1204 for performing one or more steps.The non-transitory computer readable medium can include one or morememory units (e.g., removable media or external storage such as an SDcard or random access memory (RAM)). In some embodiments, data from thesensing module 1202 can be directly conveyed to and stored within thememory units of the non-transitory computer readable medium 1206. Thememory units of the non-transitory computer readable medium 1206 canstore logic, code and/or program instructions executable by theprocessing unit 1204 to perform any suitable embodiment of the methodsdescribed herein. For example, the processing unit 1204 can beconfigured to execute instructions causing one or more processors of theprocessing unit 1204 to analyze sensing data produced by the sensingmodule. The memory units can store sensing data from the sensing moduleto be processed by the processing unit 1204. In some embodiments, thememory units of the non-transitory computer readable medium 1206 can beused to store the processing results produced by the processing unit1204.

In some embodiments, the processing unit 1204 can be operatively coupledto a control module 1208 configured to control a state of the movableobject. For example, the control module 1208 can be configured tocontrol the propulsion mechanisms of the movable object to adjust thespatial disposition, velocity, and/or acceleration of the movable objectwith respect to six degrees of freedom. Alternatively or in combination,the control module 1208 can control one or more of a state of a carrier,payload, or sensing module.

The processing unit 1204 can be operatively coupled to a communicationmodule 1210 configured to transmit and/or receive data from one or moreexternal devices (e.g., a terminal, display device, or other remotecontroller). Any suitable means of communication can be used, such aswired communication or wireless communication. For example, thecommunication module 1210 can utilize one or more of local area networks(LAN), wide area networks (WAN), infrared, radio. Wi-Fi, point-to-point(P2P) networks, telecommunication networks, cloud communication, and thelike. Optionally, relay stations, such as towers, satellites, or mobilestations, can be used. Wireless communications can be proximitydependent or proximity independent. In some embodiments, line-of-sightmay or may not be required for communications. The communication module1210 can transmit and/or receive one or more of sensing data from thesensing module 1202, processing results produced by the processing unit1204, predetermined control data, user commands from a terminal orremote controller, and the like.

The components of the system 1200 can be arranged in any suitableconfiguration. For example, one or more of the components of the system1200 can be located on the movable object, carrier, payload, terminal,sensing system, or an additional external device in communication withone or more of the above. Additionally, although FIG. 12 depicts asingle processing unit 1204 and a single non-transitory computerreadable medium 1206, one of skill in the art would appreciate that thisis not intended to be limiting, and that the system 1200 can include aplurality of processing units and/or non-transitory computer readablemedia. In some embodiments, one or more of the plurality of processingunits and/or non-transitory computer readable media can be situated atdifferent locations, such as on the movable object, carrier, payload,terminal, sensing module, additional external device in communicationwith one or more of the above, or suitable combinations thereof, suchthat any suitable aspect of the processing and/or memory functionsperformed by the system 1200 can occur at one or more of theaforementioned locations.

As used herein A and/or B encompasses one or more of A or B, andcombinations thereof such as A and B. It will be understood thatalthough the terms “first,” “second,” “third” etc. may be used herein todescribe various elements, components, regions and/or sections, theseelements, components, regions and/or sections should not be limited bythese terms. These terms are merely used to distinguish one element,component, region or section from another element, component, region orsection. Thus, a first element, component, region or section discussedbelow could be termed a second element, component, region or sectionwithout departing from the teachings of the present disclosure.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” or “includes” and/or “including,” when used in thisspecification, specify the presence of stated features, regions,integers, steps, operations, elements and/or components, but do notpreclude the presence or addition of one or more other features,regions, integers, steps, operations, elements, components and/or groupsthereof.

Furthermore, relative terms, such as “lower” or “bottom” and “upper” or“top” may be used herein to describe one element's relationship to otherelements as illustrated in the figures. It will be understood thatrelative terms are intended to encompass different orientations of theelements in addition to the orientation depicted in the figures. Forexample, if the element in one of the figures is turned over, elementsdescribed as being on the “lower” side of other elements would then beoriented on the “upper” side of the other elements. The exemplary term“lower” can, therefore, encompass both an orientation of “lower” and“upper,” depending upon the particular orientation of the figure.Similarly, if the element in one of the figures were turned over,elements described as “below” or “beneath” other elements would then beoriented “above” the other elements. The exemplary terms “below” or“beneath” can, therefore, encompass both an orientation of above andbelow.

While some embodiments of the present disclosure have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the disclosure. It should beunderstood that various alternatives to the embodiments of thedisclosure described herein may be employed in practicing thedisclosure. Numerous different combinations of embodiments describedherein are possible, and such combinations are considered part of thepresent disclosure. In addition, all features discussed in connectionwith any one embodiment herein can be readily adapted for use in otherembodiments herein. It is intended that the following claims define thescope of the invention and that methods and structures within the scopeof these claims and their equivalents be covered thereby.

What is claimed is:
 1. An unmanned aerial vehicle (UAV) comprising: oneor more propulsion units that effect flight of the UAV; an applicationprocessing circuit configured to verify a validity of a system image ofthe UAV in a secure environment; and a flight control circuit operablycoupled to the application processing circuit, generation and/ortransmission of control signals from the flight control circuit to oneor more electronic speed controllers (ESC controllers) being preventedprior to verification of the validity of the system image.
 2. The UAV ofclaim 1, wherein the application processing circuit is configured toverify the validity of the system image when the UAV is powering up. 3.The UAV of claim 1, further comprising: a micro fuse including a key forverifying the validity of the system image.
 4. The UAV of claim 1,wherein the application processing circuit is further configured toverify and record login information of a user in the secure environmentbefore flight of the UAV is allowed.
 5. The UAV of claim 1, wherein theapplication processing circuit is configured to receive data from animaging sensor and store the data in the secure environment.
 6. The UAVof claim 5, wherein the application processing circuit is furtherconfigured to encrypt the data before transmission of the data to astorage medium.
 7. The UAV of claim 1, wherein the applicationprocessing circuit is configured to verify one or more signals receivedfrom an external source.
 8. The UAV of claim 7, wherein the one or moresignals include control signals received from a ground terminal.
 9. TheUAV of claim 7, wherein the application processing circuit is furtherconfigured to verify or authenticate a source of the received signal.10. The UAV of claim 7, wherein the application processing circuit isfurther configured to assess a risk of the one or more signals.
 11. TheUAV of claim 1, wherein the flight control circuit includes an embeddedprocessor.
 12. The UAV of claim 1, wherein the flight control circuit isconfigured as a backup component in case the application processingcircuit fails.
 13. The UAV of claim 1, wherein the applicationprocessing circuit is located on a first printed circuit board, and theflight control circuit is located on a second printed circuit board. 14.The UAV of claim 13, further comprising: an image processing circuitlocated on a third printed circuit board.
 15. The UAV of claim 1,wherein the flight control circuit and the application processingcircuit are coupled to different sensors on board the UAV.
 16. The UAVof claim 1, further comprising: a real-time sensing circuit configuredto receive the system image from the application processing circuit. 17.The UAV of claim 16, wherein the real-time sensing circuit is furtherconfigured to verify the validity of the system image.
 18. The UAV ofclaim 17, wherein the flight control circuit is configured to preventflight of the UAV prior to verification of the validity of the imagingsystem by both the application processing circuit and the real-timesensing circuit.
 19. A non-transitory computer readable medium formanaging flight of an unmanned aerial vehicle (UAV), the non-transitorycomputer readable medium storing code, logic, or instructions to:verify, at an application processing circuit, a validity of a systemimage of the UAV in a secure environment; and prevent, at a flightcontrol circuit operably coupled to the application processing circuit,generation and/or transmission of control signals from the flightcontrol circuit to one or more electronic speed controllers (ESCcontrollers) prior to verification of the validity of the system image.20. A method for managing flight of an unmanned aerial vehicle (UAV),comprising: verifying, at an application processing circuit, a validityof a system image of the UAV in a secure environment; and preventing, ata flight control circuit operably coupled to the application processingcircuit, generation and/or transmission of control signals from theflight control circuit to one or more electronic speed controllers (ESCcontrollers) prior to verification of the validity of the system image.